1. Field of the Invention
The present invention relates to disc drive devices and, more specifically, a device incorporated in a DVD player, a DVD recorder, a personal computer, or the like, and capable of driving discs in DVD format (DVD-ROM discs, DVD-RAM discs, DVD-R discs, DVD-RW discs, etc.) for reading (reproducing) data on a real-time basis, such as video and audio, recorded on the DVD-format discs.
2. Description of the Background Art
As well known, DVD-format discs have such a large storage capacity that they are used mainly for recording and reproducing data on a real-time basis. Data, such as video and audio, that should be recorded and reproduced on a real-time basis is hereinafter called Real-time data. Especially, in writable DVD-format discs, such as DVD-RAM, DVD-R, and DVD-RW discs, a real-time recording (RTR) format is used for recording Real-time data. In the RTR format, Real-time data is compressed with MPEG2 at a compression rate enabling single-speed recording, and then is recorded on a disc. Therefore, the Real-time data recorded in the RTR format (hereinafter, xe2x80x9cRTR-format data xe2x80x9d) is generally reproduced at single speed (normal speed) in a disc drive device.
Unlike magnetic tapes, discs (especially, optical discs where data can be recorded or reproduced without any contact) have a feature of enabling a quick change of data locations to be read. Using this feature, one conventional scheme is to read data at a speed equal to or faster than single speed, and then sequentially store the read data in memory of the device before reproduction. In this scheme, if data fails to be read due to a scratch or stain on the disc or vibrations of the device (if a read error occurs), such data can be read again while other data stored in memory is being reproduced. In recent years, technology has been so advanced as to enable CD-ROM drives to carry out data processing at 32xc3x97 to 48xc3x97 speeds and DVD-ROM drives to carry out at 8xc3x97 to 16xc3x97 speeds.
In general, disc drive devices capable of high-speed reading at single or more speed are also capable of low-speed reading. For example, disc drive devices capable of reading DVD-ROM discs at 8xc3x97 speed at maximum are often capable of reading at quadruple speed and also at double speed. Note that which speeds are supported by a particular disc drive device depend on its vender.
An example technique using the above feature of supporting a plurality of speeds is disclosed in Japanese Patent No. 2570004, in which the reading speed is varied between Real-time data and program data in order to improve efficiency of reading and executing data that does not have to be read or executed on a real-time basis.
In general, data recorded on a disc is more likely to be successfully read at a low speed, compared with when read at a high speed. Therefore, if an error has occurred during high-speed data reading, the data is generally tried to be re-read at the high speed for several times. If an error still occurs, the data is then tried to be read at the low speed. If a plurality of speeds are supported, the reading speed is changed stepwise within the supported speeds, such as from 8xc3x97 speed, quadruple speed, double speed, and then to single speed.
Here, if the reading speed is changed to the low speed due to the occurrence of an error, and kept thereat for data reading, data reading has to be carried out always at the low speed even in a case where any further errors will not possibly occur. Such low-speed reading is a waste of time. Therefore, in general, after being changed to the low speed due to the occurrence of an error, the reading speed is returned to the high speed in such a case as after data reading has been carried out for a predetermined number of sectors; after a predetermined time passes; when data reading is carried out for a sector away from the one where the error has occurred, or others.
However, to re-read data after an error has been detected, it takes several tens to hundreds of milliseconds (seek time). Moreover, a process for decelerating or accelerating the reading speed can take several hundreds to thousands of milliseconds at a time. Therefore, such processing time greatly interferes with reproduction of Real-time data, such as RTR-format data. Especially, as for a disc that is error-prone at high-speed reading, if the reading speed is decelerated or accelerated every time when an error occurs with a sufficient amount of data not yet been stored in memory, video and audio recorded on the disc cannot be played back without interruption because data cannot be read during the deceleration or acceleration process.
Therefore, an object of the present invention is to provide a disc drive device that optimally controls a speed for reading RTR-format data, such as video and audio, recorded on a DVD-format disc, thereby enabling real-time playback without interruption.
The present invention has the following features to attain the object mentioned above.
A first aspect of the present invention is directed to a disc drive device supporting at least two types of reading speeds, a high speed and a low speed, capable of driving a DVD-format disc, reading data from the disc by following a read instruction from a host section, and sending the read data to the host section. The disc drive device includes: a processing section operable to read, from the disc at one of the reading speeds, the data corresponding to the read instruction and additional information related to the data; a determining section operable to determine, based on the additional information, whether the read data is Real-time data; a storage section operable to temporarily store the read data; and a sending section operable to send the data stored in the storage section to the host section in predetermined playback timing. When the reading speed is currently the low speed, the processing section keeps the reading speed while the determining section determines that the read data is the Real-time data.
Here, when the reading speed is currently the high speed, the processing section changes the reading speed to the low speed when the determining section determines, successively for a predetermined number of times, that the read data is the Real-time data; when a data read error occurs; or after a data read error occurs and then a predetermined condition is satisfied.
At this time, the predetermined condition is preferably whether data reading has been carried out for a predetermined number of times, or for a predetermined period.
Moreover, when the reading speed is currently the low speed, the processing section changes the reading speed to the high speed when the determining section determines that the read data is not the Real-time data and when a predetermined condition is satisfied. Here, when the disc is a DVD-RAM disc and the reading speed is currently the low speed, the processing section may change, under a predetermined condition, the reading speed to the high speed while a reading head is passing through a gap specified in DVD-RAM specifications even though the determining section determines that the read data is the Real-time data.
At this time, the predetermined condition is preferably whether data reading has been successfully carried out for a predetermined number of times or for a predetermined period after a data read error was cleared.
Still further, the additional information is a recording type bit recorded on a header of a sector that stores the data.
As described above, in the first aspect, the information added to the sector is used for determining whether the data is the one recorded on a real-time basis (RTR-format data). When an error occurs at high-speed reading of RTR-format data and therefore the reading speed is changed to the low speed, the reading speed is so controlled as to be kept at the low speed for reading the following RTR-format data. Thus, for RTR-format data, overhead due to repetitive acceleration and deceleration processes can be avoided, and reading can be carried out without interfering with real-time playback. For normal data, reading can be carried out in a manner similar to that in background art. Furthermore, the process for accelerating the reading speed of RTR-format data is carried out while the reading head is passing over the GAP. Thus, even though once changed to the low speed, the reading speed can be back to the high speed without interfering with real-time playback.
A second aspect of the present invention is directed to a disc drive device supporting at least two types of reading speeds, a high speed and a low speed, capable of driving a DVD-format disc, reading data from the disc by following a read instruction from a host section, and sending the read data to the host section. The disc drive device includes: a determining section operable to determine whether the disc has Real-time data thereon the disc based on specific information stored on the disc; a managing section operable to set a flag indicating whether the Real-time data exists based on a determination result from the determining section; a processing section operable to read, from the disc at one of the reading speeds, the data corresponding to the read instruction; a storage section operable to temporarily store the read data; and a sending section operable to send the data stored in the storage section to the host section in predetermined playback timing. The managing section sets the flag when the determining section determines that the disc has the Real-time data thereon. When the reading speed is currently the low speed, the processing section keeps the reading speed while the flag is set.
Here, when the reading speed is currently the high speed, the processing section changes the reading speed to the low speed when the determining section determines, successively for a predetermined number of times, that the read data is the Real-time data; when a data read error occurs; or speed when a data read error occurs and then a predetermined condition is satisfied.
At this time, the predetermined condition is preferably whether data reading has been carried out for a predetermined number of times or a predetermined period.
Still further, when the reading speed is currently the low speed, the processing section changes the reading speed to the high speed when the flag is not set and a predetermined condition is satisfied. Here, when the disc is a DVD-RAM disc and the reading speed is currently the low speed, the processing section may change, under a predetermined condition, the reading speed to the high speed while a reading head is passing through a gap specified by DVD-RAM specifications, even though the flag is set.
At this time, the predetermined condition is preferably whether data reading has been successfully carried out for a predetermined number of times or for a predetermined period after a data read error was cleared.
Still further, it will be more expedient to achieve the second aspect if information representing whether an SLR bit recorded on a read-in area of the disc indicates 1 or information representing whether a DVD_RTAV directory specified by the UDF format exists on the disc is used as the specific information.
As described above, in the second aspect, by using the information recorded on the read-in area or the information specified by the UDF format, it is determined whether the disc has data recorded on a real-time basis (RTR-format data). When an error occurs at high-speed reading of RTR-format data and therefore the reading speed is changed to the low speed, the reading speed is so controlled as to be kept at the low speed for reading the following RTR-format data. Thus, for RTR-format data with SLR information and a DVD_RTAV directory, overhead due to repetitive acceleration and deceleration processes can be avoided, and reading can be carried out without interfering with real-time playback. For normal data, reading can be carried out in a manner similar to that in background art. Furthermore, the process for accelerating the reading speed of RTR-format data is carried out while the reading head is passing over the GAP. Thus, even though once changed to the low speed, the reading speed can be back to the high speed without interfering with real-time playback.
Alternatively, the managing section may manage a plurality of flags according to the reading speeds, and can individually set the plurality of flags so that at least one of the reading speeds is not changed when the determining section determines that the disc has the Real-time data thereon.
As such, a plurality of flags are provided correspondingly to a plurality of drivable speeds. Thus, it is possible to carry out the process of accelerating the reading speed stepwise from the low speed to an optimal speed at which real-time playback is not interfered with.
A third aspect of the present invention is directed to a disc drive device supporting at least two types of reading speeds, a high speed and a low speed, capable of driving a DVD-format disc, reading data from the disc by following a read instruction from a host section, and sending the read data to the host section. The disc drive device includes: an extracting section operable to extract, from the read instruction coming from the host section, information indicating whether real-time playback is carried out; a processing section operable to read, based on the extracted information, and from the disc at one of the reading speeds, the data corresponding to the read instruction; a storage section operable to temporarily store the read data; and a sending section operable to send the data stored in the storage section to the host section in predetermined playback timing. When the reading speed is currently the low speed, the processing section keeps the reading speed while the information indicates real-time playback.
Here, when the reading speed is currently the high speed, the processing section changes the reading speed to the low speed when the information indicating real-time playback comes successively for a predetermined number of times; when a data read error occurs; or when a data read error occurs and then a predetermined condition is satisfied.
At this time, the predetermined condition is whether data reading has been carried out for a predetermined number of times, or for a predetermined period.
Still further, when the reading speed is currently the low speed, the processing section changes the reading speed to the high speed when the information does not indicate that the real-time playback is to be carried out and a predetermined condition is satisfied. Here, when the disc is a DVD-RAM disc and the reading speed is currently the low speed, the processing section may change, under a predetermined condition, the reading speed to the high speed while a reading head is passing through a gap specified by DVD-RAM specifications, even though the information indicates that the real-time playback is to be carried out.
At this time, the predetermined condition is preferably whether data reading has been successfully carried out for a predetermined number of times or for a predetermined period after a data read error was cleared.
Also, when an interface to the host section is ATAPI, it will be more expedient to achieve the third aspect if a streaming bit of a READ12 command is used as the information indicating whether the real-time playback is to be carried out.
As described above, in the third aspect, not the disc drive device but the host device can assume the main role of controlling RTR-format data reading.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.